For controlling several AV devices within a network of home entertainment products the so-called HAVi (Home Audio Video Interoperability) standard has been developed. This standard specifies the control of television sets, video recorders, set top boxes and other devices, especially for the control of the exchange of digital audio and video streams. The devices are connected via the IEEE 1394 bus (i.LINK® or Fire-Wire®), which has enough capacity to simultaneously carry multiple digital audio and video streams.
Each device added to the HAVi network automatically installs its own application and interface software and is automatically registered by the system so that other devices know what it is capable of. So-called Application Programming Interfaces of the most common AV functions have been standardized. Furthermore, functions on a device within the HAVi networking system may be controlled from another device within the system.
HAVi defines two different ways of using User-Interfaces (UIs). Both solutions are working in principle in the same way: one device within the network (target) provides UI-elements or a kind of a complete UI to a display device (controller). The controller renders the UI-elements or executes the complete UI, respectively. The first mode or level is called Data Driven Interaction (DDI), the second one UI by Havlets. Havlet is an artificial word created from “HAVi” and “applet” which shall clarify that as for applets for Internet applications software is uploaded from a first device to a second device on which it is executed.
For a UI by Havlets a Java UI is uploaded from the controlled device to the controller, which hosts a Java Virtual machine. The Java Virtual machine runs the Havlets and generates in this way the user interfaces to be displayed.
Although UI by Havlets allows high flexibility for the construction of user interfaces, it shows a lack in setting up a service between two IEEE1394 devices, as the user has to handle two separate UIs.